flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten)
Auswertung Emprischer Daten
einfaktorielle ANOVA
mehrfaktorielle ANOVA
Mixed ANOVA
Sind unterschiedliche Produktionslinien unterschiedlich produktiv?
Gibt es Unterschiede in der Pünktlichkeit von Flügen in der EU?
Haben Menschen Präferenzen für einen bestimmten Humor?
…
Wie wirken unterschiedliche Beleuchtungen auf unsere Stimmung?
Unterscheiden sich Psychologinnen von anderen Disziplinen?
Wie wirken unterschiedliche LVs auf Studierende?
…
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten)
Hat die Social-Media-Plattformen einen Einfluss auf die Wahrnehmung des Inhalts?
Hat die Social-Media-Plattformen einen Einfluss auf die Wahrnehmung des Inhalts?
Warum nicht mehrere t-Tests für unabhängige Stichproben?
\[ \begin{aligned} \ j &= \frac{k \cdot (k - 1)}{2} \\ \\ \ j &= \frac{3 \cdot (3 - 1)}{2} \\ \ j &= 3 \\ \end{aligned} \]
Hat die Social-Media-Plattformen einen Einfluss auf die Wahrnehmung des Inhalts?
Warum nicht mehrere t-Tests für unabhängige Stichproben?
\[ \begin{aligned} \ \alpha_{kum} &= 1 - (1 - \alpha)^j \\ \\ \ \alpha_{kum} &= 1 - (1 - .05)^3 \\ \ \alpha_{kum} &= .1426 \\ \ \alpha_{kum} &= 14.26 \% \\ \end{aligned} \]
Informationen zum Datensatz ae_anova_one_way.csv
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style A fill: #009e73
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style B fill: #009e73
| id | age | gen | smp | Bew.01 | bew_02 | BEW.03 |
|---|---|---|---|---|---|---|
| 1 | 47 | 1 | 2 | 7 | 7 | 7 |
| 2 | 48 | 1 | 2 | 7 | 7 | 5 |
| 3 | 33 | 1 | 2 | 6 | 5 | 6 |
| 4 | 43 | 1 | 2 | 7 | 7 | 7 |
| 5 | 22 | 0 | 2 | 5 | 5 | 5 |
| 6 | 43 | 1 | 2 | 4 | 7 | 5 |
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style C fill: #009e73
rename()-Funktion aus dem tidyverse-Package
clean_names()-Funktion aus dem janitor-Package
| id | age | gen | smp | bew_01 | bew_02 | bew_03 |
|---|---|---|---|---|---|---|
| 1 | 47 | 1 | 2 | 7 | 7 | 7 |
| 2 | 48 | 1 | 2 | 7 | 7 | 5 |
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style D fill: #009e73
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style E fill: #009e73
Reliability analysis
Call: psych::alpha(x = ca)
raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
0.81 0.81 0.74 0.58 4.2 0.018 5.6 1.2 0.57
95% confidence boundaries
lower alpha upper
Feldt 0.77 0.81 0.84
Duhachek 0.77 0.81 0.84
Reliability if an item is dropped:
raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
bew_01 0.69 0.69 0.53 0.53 2.3 0.033 NA 0.53
bew_02 0.78 0.78 0.64 0.64 3.6 0.023 NA 0.64
bew_03 0.72 0.72 0.57 0.57 2.6 0.030 NA 0.57
Item statistics
n raw.r std.r r.cor r.drop mean sd
bew_01 346 0.87 0.87 0.78 0.69 5.6 1.4
bew_02 346 0.82 0.82 0.67 0.61 5.9 1.4
bew_03 346 0.86 0.85 0.74 0.66 5.4 1.5
Non missing response frequency for each item
0 1 2 3 4 5 6 7 miss
bew_01 0.01 0.01 0.02 0.06 0.10 0.18 0.30 0.32 0
bew_02 0.00 0.01 0.03 0.05 0.07 0.15 0.22 0.47 0
bew_03 0.00 0.03 0.02 0.06 0.12 0.25 0.25 0.27 0
Wie wird der Inhalt bewertet?
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style F fill: #009e73
Voraussetzungen
Voraussetzungen - Varianzhomogenität
Levene's Test for Homogeneity of Variance (center = median)
Df F value Pr(>F)
group 2 5.7298 0.003567 **
343
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Die Varianzhomogenität ist verletzt ➜ Was nun?
Voraussetzungen - Normalverteilung
Achtung
Die Daten in den einzelnen Bedingungen müssen normalverteilt sein!
Es muss keine Normalverteilung über die gesamten Daten vorliegen!
Wir rechnen trotzdem, da die ANOVA robust ist, vor allem bei großen Stichproben!
ANOVA
Hierfür nutzen wir die Anova()-Funktion aus dem car-Package
ANOVA
Anova Table (Type III tests)
Response: bw_mean
Sum Sq Df F value Pr(>F)
(Intercept) 2848.40 1 2162.011 < 2.2e-16 ***
smp_f 71.03 2 26.955 1.34e-11 ***
Residuals 451.89 343
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Effektstärke
Effektstärke
# Effect Size for ANOVA
Parameter | Eta2 | 95% CI
-------------------------------
smp_f | 0.14 | [0.08, 1.00]
- One-sided CIs: upper bound fixed at [1.00].
post-hoc-Tests
post-hoc-Test - Tukey-HSD-Test
Hierfür nutzen wir die emmeans()-Funktion aus dem emmeans-Package
# Wir erstellen zunächst ein neues Objekt namens "post" für post-hoc-Test
post <- emmeans::emmeans(mod_anova, # Das "mod_anova"-Objekt haben wir bereits erstellt
~ smp_f) # Hier müssen wir nochmals spezifizieren, welche Ausprägungen miteinander verglichen werden sollen ... warum auch immer
pairs(post, adjust = "tukey" )post-hoc-Test - Tukey-HSD-Test
contrast estimate SE df t.ratio p.value
Tik_Tok - Twitch -1.041 0.153 343 -6.817 <.0001
Tik_Tok - Insta -0.865 0.150 343 -5.774 <.0001
Twitch - Insta 0.176 0.151 343 1.167 0.4739
P value adjustment: tukey method for comparing a family of 3 estimates
post-hoc-Test - Tukey-HSD-Test - Effekgrößen
post-hoc-Test - Tukey-HSD-Test - Effekgrößen
contrast effect.size SE df lower.CL upper.CL
Tik_Tok - Twitch -0.907 0.137 343 -1.178 -0.637
Tik_Tok - Insta -0.753 0.134 343 -1.016 -0.491
Twitch - Insta 0.154 0.132 343 -0.106 0.413
sigma used for effect sizes: 1.148
Confidence level used: 0.95
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style G fill: #009e73
Deskriptiven Daten
Deskriptiven Daten
| smp_f | Mittelwert | Standardabweichung |
|---|---|---|
| Tik_Tok | 4.976812 | 1.348396 |
| Twitch | 6.018018 | 1.017859 |
| Insta | 5.841667 | 1.047840 |
APA-konform
“Eine einfaktorielle ANOVA wurde durchgeführt um zu testen, ob die Wahl der Social-Media-Plattform eine Auswikrung auf die Wahrnehmung des Inhalts hat. Die Ergebnisse zeigen, dass die Social-Media-Plattform eine Auswikrung auf die Wahrnehmung des Inhalts hat, F(2, 343) = 26.95, p < .001, η² = 0.14, 95% CI [0.08, 1.00].
Der Tukey post-hoc Test zeigte einen signifikanten Unterschied zwischen Tik-Tok (M = 4.98, SD = 1.35) und Twitch (M = 6.02, SD = 1.02), p < .001. Zusätzlich zeigtes sich ein signifikanter Unterschied zwischen Tik-Tok und Instagram (M = 5.84, SD = 1.05), p < .001. Der Unterschied zwischen Twitch und Instagram war nicht signifikant, p = .474.”
Balkendiagram
Balkendiagram
# Welche Farbe hätte ich denn gerne``
mf <- c("#00AFBB", "#E7B800", "#FC4E07")
# Erstellen des Plots
ds |>
ggplot(aes(x = smp_f,
y = bw_mean,
fill = smp_f)) +
stat_summary(fun = "mean" , # "stat_summary" - erledig die Arbeit für uns - Mittelwert zu plotten
geom = "bar", # Wir hätten gerne Balken
show.legend = FALSE) + # Wir brauchen keine Legende
scale_y_continuous(limits = c(0, 7),
breaks = c(0:7)) +
scale_fill_manual(values = mf) +
labs(x = "",
y = "Bewertung") +
theme_classic()Violinplot
Durchlaufen Sie sämtliche Schritte mit dem Alter der Versuchspersonen als AV!
Gibt es Unterschiede zwischen drei (und mehr) Versuchsbedingungen?
Gibt es Unterschiede zwischen drei (und mehr) Messzeitpunkten?
Wie wirken unterschiedliche Beleuchtungen auf unsere Stimmung?
Führt ein Training zu einer Abnahme von Depressionssymptomen?
…
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten)
Wie wirkt sich der Semesterverlauf auf die positive Stimmung aus?
Informationen zum Datensatz ae_anova_one_with.csv
demographische Daten (id)
Positive Stimmung vor Semesterbeginn (t0_p_01, t0_p_02, t0_p_03)
Positive Stimmung vor der Klausur (t1_p_01, t1_p_02, t1_p_03)
Positive Stimmung nach der Klausur (t2_p_01, t2_p_02, t2_p_03)
Negative Stimmung vor Semesterbeginn (t0_n_01, t0_n_02, t0_n_03)
Negative Stimmung vor der Klausur (t1_n_01, t1_n_02, t1_n_03)
Negative Stimmung nach der Klausur (t2_n_01, t2_n_02, t2_n_03)
0 = “trifft nicht zu”, 6 = “trifft voll zu”
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style A fill: #009e73
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style B fill: #009e73
| id | t0_p_01 | t0_p_02 | t0_p_03 | t1_p_01 | t1_p_02 | t1_p_03 | t2_p_01 | t2_p_02 | t2_p_03 | t0_n_01 | t0_n_02 | t0_n_03 | t1_n_01 | t1_n_02 | t1_n_03 | t2_n_01 | t2_n_02 | t2_n_03 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 3 | 3 | 3 | 3 | 4 | 4 | 2 | 2 | 3 | 5 | 6 | 6 | 4 | 3 | 3 | 2 | 3 | 2 |
| 2 | 5 | 7 | 5 | 2 | 3 | 2 | 4 | 6 | 5 | 5 | 6 | 6 | 3 | 3 | 1 | 4 | 3 | 3 |
| 3 | 3 | 2 | 3 | 4 | 3 | 4 | 2 | 4 | 4 | 3 | 3 | 3 | 5 | 4 | 4 | 1 | 4 | 4 |
| 4 | 3 | 4 | 4 | 2 | 3 | 2 | 3 | 4 | 4 | 6 | 6 | 6 | 4 | 4 | 3 | NA | 4 | 4 |
| 5 | 3 | 5 | 4 | 3 | 3 | 3 | 2 | 4 | 4 | NA | NA | 4 | 4 | 4 | 3 | 4 | 4 | 4 |
| 6 | 4 | 1 | 3 | 2 | 4 | 2 | 4 | 5 | 6 | 6 | 5 | 6 | 4 | 4 | 4 | 4 | 4 | 3 |
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style C fill: #009e73
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style D fill: #009e73
flowchart TB A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style E fill: #009e73
# Chronbach's Alpha - Positive Stimmung - t0
ds |>
select(t0_p_01,
t0_p_02,
t0_p_03) |>
psych::alpha()
# Chronbach's Alpha - Positive Stimmung - t1
ds |>
select(t1_p_01,
t1_p_02,
t1_p_03) |>
psych::alpha()
# Chronbach's Alpha - Positive Stimmung - t2
ds |>
select(t2_p_01,
t2_p_02,
t2_p_03) |>
psych::alpha()flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style F fill: #009e73
Voraussetzungen
Wir benötigen einen Datensatz im long-format
Wir benötigen einen Datensatz im long-format
Voraussetzungen - Normalverteilung
Voraussetzungen - Keine Ausreißer
Voraussetzungen - Sphärizität
ANOVA
Hierfür nutzen wir die aov_car()-Funktion aus dem afex-Package
Univariate Type III Repeated-Measures ANOVA Assuming Sphericity
Sum Sq num Df Error SS den Df F value Pr(>F)
(Intercept) 2067.09 1 29.883 49 3389.448 < 2.2e-16 ***
mz 50.74 2 67.866 98 36.638 1.315e-12 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Mauchly Tests for Sphericity
Test statistic p-value
mz 0.99824 0.9585
Greenhouse-Geisser and Huynh-Feldt Corrections
for Departure from Sphericity
GG eps Pr(>F[GG])
mz 0.99824 1.371e-12 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
HF eps Pr(>F[HF])
mz 1.040601 1.314952e-12
Achtung
Vergessen Sie nicht das afex-Package zu installieren und zu laden!
Effektstärke
Effektstärke
# Effect Size for ANOVA (Type III)
Parameter | Eta2 (partial) | 95% CI
-----------------------------------------
mz | 0.43 | [0.30, 1.00]
- One-sided CIs: upper bound fixed at [1.00].
post-hoc-Test - Tukey-HSD-Test
Hierfür nutzen wir die emmeans()-Funktion aus dem emmeans-Package
post-hoc-Test - Tukey-HSD-Test
contrast estimate SE df t.ratio p.value
t0 - t1 0.997 0.167 49 5.964 <.0001
t0 - t2 -0.383 0.169 49 -2.268 0.0701
t1 - t2 -1.380 0.163 49 -8.461 <.0001
P value adjustment: tukey method for comparing a family of 3 estimates
post-hoc-Test - Tukey-HSD-Test - Effekgrößen
post-hoc-Test - Tukey-HSD-Test - Effekgrößen
contrast effect.size SE df lower.CL upper.CL
t0 - t1 0.998 0.182 49 0.633 1.3640
t0 - t2 -0.384 0.172 49 -0.729 -0.0393
t1 - t2 -1.382 0.191 49 -1.766 -0.9987
sigma used for effect sizes: 0.9983
Confidence level used: 0.95
flowchart LR A(Daten einlesen) --> B(Übersicht verschaffen) --> C(Namen brauchbar machen) --> D(Ergeben die Daten Sinn?) --> E(Skalenwerte berechnen) --> F(einfaktorielle ANOVA) --> G(Ergebnis berichten) style G fill: #009e73
Deskriptiven Daten
Deskriptiven Daten
| mz | M | SD |
|---|---|---|
| t0 | 3.92 | 0.80 |
| t1 | 2.92 | 0.79 |
| t2 | 4.30 | 0.85 |
APA-konform
“Eine einfaktorielle ANOVA wurde durchgeführt um zu testen, ob die sich der Semesterzeitpunkt eine Auswirkung auf die postive Stimmung von Studierenden hat. Die Ergebnisse zeigen, dass der Semesterzeitpunkg eine Auswikrung auf die Wahrnehmung des Inhalts hat, F(2, 98) = 36.00, p < .001, η² = 0.42, 95% CI [0.30, 1.00].
Der Tukey post-hoc Test zeigte einen signifikanten Unterschied vor dem Semesterstart (M = 3.92, SD = 0.80) und vor der Prüfung (M = 2.92, SD = 0.79), t(49) = 5.96, p < .001. Zusätzlich zeigte sich ein signifikanter Unterschied vor der Prüfung und nach der Prüfung (M = 4.30, SD = 0.85), t(49) = 8.46, p < .001. Der Unterschied zwischen Semesterstart und nach der Prüfung war nicht signifikant, t(49) = 2.27, p = .070.”
graphisch